Commutated direct current (DC) motors have an armature current signal that generally includes a DC current signal and an alternating current (AC) signal in the form of current ripples which are the current peaks contained in the motor armature current signal that occur when the armature of the motor rotates. Ripple counting is a well recognized technique that utilizes the AC portion of the armature current signal caused by the commutation process to determine the position and/or speed of the commutated DC motor. By counting the number of commutation pulses in the armature current signal, the rotational position and speed of the motor can be determined, without requiring additional sensor components.
Distortion can arise in the ripple current signal due to rotor (armature) eccentricity, brush seating, magnetic saturation, pulse-width modulation (PWM) of the armature voltage, torque ripple, external mechanical load and other effects which can result in missed or extra ripple counts. In order to detect accurate position and/or speed of the motor, any missed or extra ripple counts should be accounted for. A number of approaches have been proposed to correct for errors in ripple counting, however, conventional approaches are generally inefficient as they typically require additional calculation of motor speed or are based on a premise that injects inaccuracy into the ripple count determination.
Accordingly, it is desirable to provide for an enhanced approach for detecting ripple count and determining rotational position and/or speed of a commutated DC motor that effectively and efficiently accounts for any errors that may otherwise occur in the ripple count so as to provide for a system that does not need additional costly sensors.